blktap2: Separate tapdisk raw I/O into different backends.
authorKeir Fraser <keir.fraser@citrix.com>
Fri, 29 Jan 2010 08:54:51 +0000 (08:54 +0000)
committerKeir Fraser <keir.fraser@citrix.com>
Fri, 29 Jan 2010 08:54:51 +0000 (08:54 +0000)
commitfedebce36446b00fbff2295d7e29813226a12ca0
treec7bc3e55d4e952bb3c377814bb284ea65e6dffaa
parent1ac52b69d483f6acc1182520974113cdfb774eb0
blktap2: Separate tapdisk raw I/O into different backends.

Hide tapdisk support for different raw I/O interfaces behind a new
struct tio. Libaio remains to dominate the interface, requiring
everyone to dispatch iocb/ioevent structs.

Backends:
 - lio:  Kernel AIO via libaio.
 - rwio: Canonical read/write() mode.

Misc:
 - Fixes a bug in tapdisk-vbd which locks up the sync io mode.
 - Wants a PERROR macro in blktaplib.h
 - Removes dead code in qcow2raw to make it link again.

Signed-off-by: Daniel Stodden <daniel.stodden@citrix.com>
Signed-off-by: Jake Wires <jake.wires@citrix.com>
tools/blktap2/drivers/tapdisk-queue.c
tools/blktap2/drivers/tapdisk-queue.h
tools/blktap2/drivers/tapdisk-server.c
tools/blktap2/drivers/tapdisk-vbd.c
tools/blktap2/include/blktaplib.h